﻿using System;
using System.Collections.Generic;
using System.Text;

namespace StockTrader.Utilities
{
    public static class StockTraderUtility
    {
        public const string ORDER_TYPE_PLACE = "BUY";
        public const string ORDER_TYPE_CHANGE = "CHANGE";
        public const string ORDER_TYPE_CANCEL = "CANCEL";

        public const string ORDER_SIDE_BUY = "BUY";
        public const string ORDER_SIDE_SELL = "SELL";

        public const string ORDER_SPEC_NORMAL = "NORMAL";
        public const string ORDER_SPEC_GTD = "GTD";
        public const string ORDER_SPEC_GTC = "GTC";

        public const string ORDER_PROCESSING_BEHAVIOR_FORWARD = "FORWARD";
        public const string ORDER_PROCESSING_BEHAVIOR_STANDARD = "STANDARD";
        
        public static readonly string ORDER_STATUS_OPEN = "open";
        public static readonly string ORDER_STATUS_CLOSED = "closed";
        public static readonly string ORDER_STATUS_COMPLETED = "completed";

        //Now Endpoint - Connected Service Names for Order Processor
        public const string OPS_HTTP = "OrderProcessor Http";
        public const string OPS_TCP = "Order Processor Async/Tcp";
        public const string OPS_MSMQ = "OrderProcessor netMsmq";
        public const string OPS_JAVA = "Order Processor WSO2 Web Services Application Server Async-Http";
        public const string OPS_JAVA_MSEC = "Order Processor WSO2 Web Services Application Server w/ Message Security";
        public const string OPS_PHP = "Order Processor WSO2 Web Services Framework for PHP Async-Http";
        public const string OPS_PHP_MSEC = "Order Processor WSO2 Web Services Framework for PHP w/ Message Security";


        //OrderMode constants
        public const int ORDER_Sync = 0;
        public const int ORDER_ASync_Tcp = 1;
        public const int ORDER_ASync_Http_MSec = 2;
        public const int ORDER_ASync_Msmq = 3;
        public const int ORDER_ASync_Java = 4;
        public const int ORDER_ASync_Java_MSec = 5;
        public const int ORDER_ASync_PHP = 6;
        public const int ORDER_ASync_PHP_MSec = 7;
    }
    public enum OrderStatus
    {
        PLACED,
        MATCHED,
        EDITED,
        CANCELLED

    }
}
